PacVim:一个学习vim命令的游戏

PacVim介绍

PacVim这款游戏其实是受PacMan(中文名:吃豆人)游戏启发而开发出来的。二者很相似,游戏任务都是躲避怪物,吃完豆豆。所不同的是,PacVim全程使用vim指令来操作,游戏的目的也是通过这种方式来提高Vim水平。

PacVim安装

安装Ncurses库
在centos7下安装如下:

1
yum install ncurses-devel

升级GCC版本
注意:linux下要请注意,编译PacVim需要gcc 8.x或更高版本,如果版本太低,可能无法正确编译和安装。

我用Centos 7 编译安装(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16))。

以下是升级GCC版本步骤:

安装scl源

1
yum install centos-release-scl scl-utils-build

列出scl可用源

1
yum list all --enablerepo='centos-sclo-rh'
1
yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"

安装8版本的gcc、gcc-c++、gdb工具链(toolchian)

1
yum install -y devtoolset-8-toolchain
1
scl enable devtoolset-8 bash
1
gcc --version

安装PacVim游戏

这款游戏源码托管在GitHub上,只需下载后编译安装即可。

1
2
3
4
5
6
7
git clone https://github.com/jmoon018/PacVim.git

cd PacVim

sudo make

sudo make install

启动游戏

安装成功后,执行如下命令启动游戏

1
pacvim [LEVEL_NUMER] [MODE]

其中:

LEVEL_NUMER:表示关卡号

MODE:表示难度,n - 一般模式, h - 困难模式

游戏总共10关,0~9数字表示。例如,选择第5关一般模式,可以这样启动游戏:

pacvim 5 n

游戏规则

PacVim 的使用与 PacMan 非常相似。

你必须跑过屏幕上所有的字符,同时避免鬼魂(红色字符)。

PacVim有两个特殊的障碍:

你不能移动到墙壁中(黄色)。你必须使用 vim 动作来跳过它们。
如果你踩到波浪字符(青色的 ~),你就输了!
你有三条生命。每次打赢 0、3、6、9 关时你都会获得新生命。总共有 10 关,从 0 到 9,打赢第 9 关后,游戏重置为第 0 关,但是鬼魂速度变快。

获胜条件
使用 vim 命令将光标移动到字母上并高亮显示它们。所有字母都高亮显示后,你就会获胜并进入下一关。

失败条件
如果你碰到鬼魂(用红色 G 表示)或者波浪字符,你就会失去一条命。如果命小于 0 条,你将会输掉整个游戏。

命令列表:

key what it does
q quit the game
h move left
j move down
k move up
l move right
w move forward to next word beginning
W move forward to next WORD beginning
e move forward to next word ending
E move forward to next WORD ending
b move backward to next word beginning
B move backward to next WORD beginning
$ move to the end of the line
0 move to the beginning of the line
gg/1G move to the beginning of the first line
numberG move to the beginning of the line given by number
G move to the beginning of the last line
^ move to the first word at the current line
& 1337 cheatz (beat current level)

参考资料

更新升级GCC版本:

https://my.oschina.net/michaelshu/blog/3024970

一辈子很短,努力的做好两件事就好:
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。

继开 wechat
欢迎加我的微信,共同交流技术